package cn.xt.demo.utils;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Md5Util {
	 public static  String md532upper(String s) {
	        try { // Create MD5 Hash
	            MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
	            digest.update(s.getBytes());
	            byte messageDigest[] = digest.digest();
	            return toHexString(messageDigest);
	        } catch (NoSuchAlgorithmException e) {
	            e.printStackTrace();
	        }
	        return "";
	    }

	    private static final char HEX_DIGITS[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

	    private static String toHexString(byte[] b) { //String to byte
	        StringBuilder sb = new StringBuilder(b.length * 2);
	        for (int i = 0; i < b.length; i++) {
	            sb.append(HEX_DIGITS[(b[i] & 0xf0) >>> 4]);
	            sb.append(HEX_DIGITS[b[i] & 0x0f]);
	        }
	        return sb.toString();
	    }

	    public String md532low(String str) {
	        try {
	            // Create MD5 Hash
	            MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
	            digest.update(str.getBytes());
	            byte messageDigest[] = digest.digest();

	            // Create Hex String
	            StringBuffer hexString = new StringBuffer();
	            for (int i = 0; i < messageDigest.length; i++)
	                hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
	            return hexString.toString();

	        } catch (NoSuchAlgorithmException e) {
	            e.printStackTrace();
	        }
	        return "";
	    }

	}

